package com.cjx.stars.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cjx.stars.common.Response;
import com.cjx.stars.pojo.table.Follow;

import java.util.List;

/**
* @author cjx
* @description 针对表【follow】的数据库操作Service
* @createDate 2024-04-12 14:59:38
*/
public interface FollowService extends IService<Follow> {

    /**
     * 关注或取消关注用户
     * @param userId 用户Id
     * @return 返回信息
     */
    Response<?> followOrUnfollowUser(Long userId);

    /**
     * 判断当前用户是否关注此用户
     * @param userId 用户id
     * @return 是否关注
     */
    boolean isFollowTheUser(Long userId);

    /**
     * 分页查询我关注的用户
     * @param currentPage 分页数据
     * @return 我关注的用户列表
     */
    Response<?> myFollowList(int currentPage);

    /**
     * 查询关注当前登录用户的信息
     * @param currentPage 分页数据
     * @return 粉丝信息
     */
    Response<?> myFansList(int currentPage);

    /**
     * 查找此用户的粉丝id
     * @param userId 用户id
     * @return 粉丝id
     */
    List<Long> getFollowIds(Long userId);

}
